package com.clj.fastble.callback;

import com.clj.fastble.data.BleDevice;
import com.clj.fastble.exception.BleException;

import ohos.bluetooth.ble.BlePeripheralCallback;
import ohos.bluetooth.ble.BlePeripheralDevice;

/**
 * BleGattCallback
 */
public abstract class BleGattCallback extends BlePeripheralCallback {
    /**
     * onStartConnect
     */
    public abstract void onStartConnect();

    /**
     * onConnectFail
     * @param bleDevice bleDevice
     * @param exception exception
     */
    public abstract void onConnectFail(BleDevice bleDevice, BleException exception);

    /**
     * onConnectSuccess
     * @param bleDevice bleDevice
     * @param gatt gatt
     * @param status status
     */
    public abstract void onConnectSuccess(BleDevice bleDevice, BlePeripheralDevice gatt, int status);

    /**
     * onDisConnected
     * @param isActiveDisConnected isActiveDisConnected
     * @param device device
     * @param gatt gatt
     * @param status status
     */
    public abstract void onDisConnected(
            boolean isActiveDisConnected, BleDevice device, BlePeripheralDevice gatt, int status);
}
